1. Field
The present invention relates generally to computer security and ubiquitous computing and, more specifically, to authentication of a user at an un-trusted public access computing system.
2. Description
User authentication is a central component of currently deployed computer security infrastructures. User authentication involves determining if the person attempting to gain access to a system is indeed a person authorized for such access. There are three main techniques for user authentication: 1) knowledge-based systems, which involve allowing access according to what a user knows; 2) token-based systems, which involve allowing access according to what a user possesses; and 3) biometrics-based systems, which involve allowing access according to what the user is. Although biometrics can be useful for user identification, one problem with these systems is the difficult tradeoff between imposter pass rate and false alarm rate. In addition, many biometric systems require specialized devices, which may be expensive. Token-based schemes are problematic if the token is misplaced or stolen. Most token-based authentication systems also use knowledge-based authentication to prevent impersonation through theft or loss of the token. An example is automated teller machine (ATM) authentication, which requires a combination of a token (e.g., a bank card) and secret knowledge (e.g., a personal identification number (PIN)). For these and other reasons, in today's computer systems knowledge-based techniques are predominantly used for user authentication.
Despite their wide usage, textual passwords and PINs have a number of shortcomings. Many users forget their passwords and PINs. Simple or meaningful passwords are easier to remember, but are vulnerable to attack. Passwords that are complex and arbitrary are more secure, but are difficult to remember. Since users can only remember a limited number of passwords, they tend to write them down or will use similar or even identical passwords for different purposes. This of course weakens the security of systems used with the passwords. As ubiquitous computing becomes more widely used, a single user may have many computing devices available, each with its own password for access to the device. In addition, some systems may be vulnerable to a keystroke-saving program or a device that supports a “replay attack.” Such a technique may be used surreptitiously to capture the inputting of the password by the authorized user in order to facilitate subsequent unauthorized access by another.
This problem of replay attacks is exacerbated for the situation where a user desires to use an un-trusted public access computing system. For example, an un-trusted public access computing system may be sited in a café, an airport lounge, a public library, a hotel lobby, or other public place. An individual user makes only temporary use of the system, and has little control over its overall security. Unknown to the user, a malicious person may have instituted an input capturing device or program in the system to capture the user's password or other user data.
Hence, techniques to deter replay attacks by malicious persons in the situation of un-trusted public access computing systems are desirable.